\documentclass[hyperref,UTF8]{ctexart}
\usepackage{hyperref}

\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{enumerate}
\usepackage{geometry}
\geometry{a4paper,scale=0.72}
\setlength\headwidth{\textwidth}

\usepackage{graphicx}
\usepackage{listings}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{newtxmath}
\usepackage{mathtools}
\ctexset{section={format={\Large\bfseries}}}

\title{Programming assignments 4.4.2}


\author{邵盛栋 \\ 信息与计算科学 3200103951}

\begin{document}
	\maketitle
	\section*{程序设计报告}
	\begin{enumerate}[A]
		\item 对于相同函数的三个不同表达式，在$ [0.99,1.01] $上以0.0002为间隔进行插值，可通过matlab程序实现，结果如下：
		\begin{figure}[ht]
			\centering
			\includegraphics[width=0.9\linewidth]{proA}
		\end{figure}
		
		前三个图分别是由$ f(x),g(x),h(x) $得到的结果，最后一个图将三个函数进行比较，其中蓝线表示$ f(x) $,红线表示$ g(x) $,黄线表示$ h(x) $.\\
		结果表明$ f(x) $误差最大，$ g(x) $其次，$ h(x) $最为准确，其原因是$ f(x) $中的运算次数太多，从而导致误差较大；而$ g(x) $中由于其运算顺序，多次运算造成的误差按倍数增长，最终导致误差较大；$ h(x) $运算次数少且运算顺序合理，使得它最终误差最小，结果最准确.
		\item 已知归一化FPN系统$ \mathbb{F} $,其中$ \beta=2 $, $ p=3 $, $ L=-1 $, $ U=1 $.
		\begin{itemize}
			\item 由定义4.17知$ UFL(\mathbb{F})=\beta^{L} $, $ OFL(\mathbb{F})=\beta^{U}(\beta-\beta^{1-p}) $,程序输出为：
			\begin{verbatim}
				UFL = 0.5 OFL = 3.5
			\end{verbatim}
			\item 枚举$ \mathbb{F} $中的所有数字并计算个数，输出为：
			\begin{verbatim}
				F中的所有数字为：
				0 0.5 -0.5 0.625 -0.625
				0.75 -0.75 0.875 -0.875 1
				-1 1.25 -1.25 1.5 -1.5
				1.75 -1.75 2 -2 2.5
				-2.5 3 -3 3.5 -3.5
				数字个数为：25
			\end{verbatim}
			对于推论4.19，$ \#\mathbb{F}=2^{p}(U-L+1)+1=8*3+1=25 $，与运行结果相同，则说明该推论成立.
			\item 在实轴上绘制$ \mathbb{F} $中的所有数字，matlab绘图如下：
			\begin{figure}[ht]
				\centering
				\includegraphics[width=0.7\linewidth]{number}
			\end{figure}
			
			\item 枚举$ \mathbb{F} $中的所有次正规数并计算个数，输出为：
			\begin{verbatim}
				F中的所有次正规数为：
				0.125 -0.125 0.25 -0.25 0.375 -0.375
				次正规数的个数为：6
			\end{verbatim}
			\item 在实轴上绘制扩展的$ \mathbb{F} $，matlab绘图如下：
			\begin{figure}[ht]
				\centering
				\includegraphics[width=0.7\linewidth]{subnumber}
			\end{figure}
			
		\end{itemize}
	\end{enumerate}
	\section*{编译说明}
		输入\verb|make|产生可执行文件，再执行\verb|./run|可得到输出结果,其中的\verb|.m|文件为matlab文件，运行后可得到报告中对应的图片.
	
\end{document}
